home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
Threads.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
3KB
|
104 lines
/*
File: Threads.idl
Contains: Thread Manager Interfaces.
Version: Technology: System 7.5
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __THREADS_IDL__
#define __THREADS_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __ERRORS_IDL__
#include <Errors.idl>
#endif
#ifndef __MEMORY_IDL__
#include <Memory.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
/* Thread states */
typedef unsigned short ThreadState;
/* Error codes have been meoved to Errors.(pah) */
/* Thread environment characteristics */
typedef OpaquePtr ThreadTaskRef; /* Substituted OpaquePtr for ``void*'' */
/* Thread characteristics */
typedef unsigned long ThreadStyle;
/* Thread identifiers */
typedef unsigned long ThreadID;
/* Options when creating a thread */
typedef unsigned long ThreadOptions;
/* Information supplied to the custom scheduler */
typedef SOMLargeStruct SchedulerInfoRec; /* Derived from a struct of 16 bytes in size */
typedef OpaquePtr SchedulerInfoRecPtr; /* Substituted OpaquePtr for ``SchedulerInfoRec*'' */
#if GENERATING68K && GENERATINGCFM
/*
The following UniversalProcPtrs are for CFM-68k compatiblity with
the implementation of the Thread Manager.
*/
typedef UniversalProcPtr ThreadEntryProcPtr;
typedef UniversalProcPtr ThreadSchedulerProcPtr;
typedef UniversalProcPtr ThreadSwitchProcPtr;
typedef UniversalProcPtr ThreadTerminationProcPtr;
typedef UniversalProcPtr DebuggerNewThreadProcPtr;
typedef UniversalProcPtr DebuggerDisposeThreadProcPtr;
typedef UniversalProcPtr DebuggerThreadSchedulerProcPtr;
#else
/*
The following ProcPtrs cannot be interchanged with UniversalProcPtrs because
of differences between 680x0 and PowerPC runtime architectures with regard to
the implementation of the Thread Manager.
*/
/* Prototype for thread's entry (main) routine */
typedef OpaquePtr voidPtr; /* Substituted OpaquePtr for ``void*'' */
typedef OpaquePtr ThreadEntryProcPtr;
/* Prototype for custom thread scheduler routine */
typedef OpaquePtr ThreadSchedulerProcPtr;
/* Prototype for custom thread switcher routine */
typedef OpaquePtr ThreadSwitchProcPtr;
/* Prototype for thread termination notification routine */
typedef OpaquePtr ThreadTerminationProcPtr;
/* Prototype for debugger NewThread notification */
typedef OpaquePtr DebuggerNewThreadProcPtr;
/* Prototype for debugger DisposeThread notification */
typedef OpaquePtr DebuggerDisposeThreadProcPtr;
/* Prototype for debugger schedule notification */
typedef OpaquePtr DebuggerThreadSchedulerProcPtr;
#endif
/* Thread Manager routines */
#endif
#endif /* __SOMIDL__ */
#endif /* __THREADS_IDL__ */